//
//  HMSportSportingViewController.m
//  黑马行
//
//  Created by 刘凡 on 2016/9/14.
//  Copyright © 2016年 itcast. All rights reserved.
//

#import "HMSportSportingViewController.h"
#import "HMSportMapViewController.h"

@interface HMSportSportingViewController ()
/**
 运动地图控制器
 */
@property (nonatomic, strong) HMSportMapViewController *mapViewController;
@property (weak, nonatomic) IBOutlet UIButton *mapButton;

@end

@implementation HMSportSportingViewController

// 不要设置控件的位置，因为自动布局没有完成！
- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self setupMapViewController];    
}

// 所有子控件布局完成，适合进一步设置其他控件的位置
- (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];
    
    // 设置罗盘位置
    CGFloat x = _mapButton.center.x - _mapViewController.mapView.compassSize.width * 0.5;
    CGFloat y = _mapButton.center.y - _mapViewController.mapView.compassSize.height * 0.5;
    
    _mapViewController.mapView.compassOrigin = CGPointMake(x, y);
}

#pragma mark - 监听方法
- (IBAction)showMapViewController {
    // 模态展现
    [self presentViewController:_mapViewController animated:YES completion:nil];
}

/**
 修改运动状态

 @param button button 
 */
- (IBAction)changeSportState:(UIButton *)button {
    
    // 修改地图控制器的运动状态
    _mapViewController.sportTracking.sportState = button.tag;
}

#pragma mark - 设置界面
/**
 设置地图视图控制器
 */
- (void)setupMapViewController {
    
    // 1. 通过 storyboard 实例化地图控制器
    UIStoryboard *sb = [UIStoryboard storyboardWithName:@"HMSportSporting" bundle:nil];
    _mapViewController = [sb instantiateViewControllerWithIdentifier:@"sportMapViewController"];
    
    // 2. 设置运动轨迹模型
    _mapViewController.sportTracking = [[HMSportTracking alloc] initWithType:_sportType state:HMSportStateContinue];
}

@end
